/**
 * Created by Administrator on 2017/5/16 0016.
 */
admin.buglog.authorArray = [];

admin.buglog.$table = null;

admin.buglog.$thead = null;

admin.buglog.$tbody = null;

admin.buglog.limit = 20;

admin.buglog.total = null;

admin.buglog.maxIndex = null;

admin.buglog.$log_info = null;

admin.buglog.parame = {
    orderBy : 'id',
    order : 'asc',
    index : 1,
    limit : admin.buglog.limit
};

admin.buglog.init = function () {
    admin.buglog.$table = $('#log-table');
    admin.buglog.$thead = admin.buglog.$table.find('thead');
    admin.buglog.$log_info = $('#log-info');
    admin.buglog.getLogs(admin.buglog.getLogsSuccess);
};

admin.buglog.getLogs = function(fnSuccess){
    admin.ajax(admin.buglog.urls.getLogs,admin.buglog.parame,fnSuccess,admin.error);
};

admin.buglog.getLogsSuccess = function (data) {
    if(data.status == 200){
        admin.buglog.total = data.data['total'];
        //console.log(admin.bowen.total);
        admin.buglog.maxIndex = Math.ceil(admin.buglog.total / admin.buglog.limit);

        admin.buglog.pageChange();
        //admin.bowen.parame.index++;
        admin.buglog.fillHead(data.data['logs'][0]);
        admin.buglog.fillDatas(data.data['logs']);

        admin.buglog.page();
    }
    else{
        $.Huimodalalert(data.message,5000);
    }
};

admin.buglog.fillHead = function(data){
    var field = admin.buglog.field;
    var $tr = $('<tr></tr>');
    for (var key in data){
        var $td = $('<th class="'+key+'">'+field[key]+'</th>');
        $tr.append($td);
    }
    $tr.append('<th class="action">操作</th>');
    admin.buglog.$thead.append($tr);
};

admin.buglog.fillDatas = function(data){
    admin.buglog.$table.find('tbody').remove();
    var $tbody = $('<tbody></tbody>');
    for(var i = 0; i < data.length; i++){
        $tbody.append(admin.buglog.fillData(data[i]));
    }
    admin.buglog.$table.append($tbody);
};

admin.buglog.fillData = function(data){
    var $tr = $('<tr></tr>');
    for(var key in data){
        var $td = $('<td class="'+key+'" title="'+data[key]+'">'+data[key]+'</td>');
        if(key == 'log_message'){
            var info = data[key];
            if(info.length > 29){
                info = info.substring(0,29) + '......';
            }
            $td = $('<td class="'+key+'" title="'+data[key]+'">'+info+'</td>');
        }
        else if(key == 'log_file'){
            var info = data[key];
            if(info.length > 30){
                info = '......' + info.substring(info.length - 20,info.length);
            }
            $td = $('<td class="'+key+'" title="'+data[key]+'">'+info+'</td>');
        }
        $tr.append($td);
    }
    var $action = $('<td class="action"><span class="icon Hui-iconfont show">&#xe665;</span><span class="icon Hui-iconfont edit">&#xe60c;</span><span class="icon Hui-iconfont delete">&#xe6e2;</span></td>');
    $tr.append($action);

    $tr.find('.show').click(function () {
        admin.buglog.showLogInfo(data);
        modalshow();
    });
    return $tr;
};

admin.buglog.showLogInfo = function (data) {
    admin.buglog.$log_info.find('tbody').remove();
    var field = admin.buglog.field;
    var $tbody = $('<tbody></tbody>');
    for(var key in data){
        var $tr = $('<tr><td class="text-r">'+field[key]+'</td><td class="text-l" title="'+data[key]+'">'+data[key]+'</td></tr>');
        $tbody.append($tr);
    }
    admin.buglog.$log_info.append($tbody);
};

admin.buglog.pageChange = function () {
    var $index = $('span.index');
    var $total = $('span.total');
    $index.html(admin.buglog.parame.index);
    $total.html(admin.buglog.maxIndex);

    if(admin.buglog.parame.index <= 1){
        $('button.prev').addClass('disabled');
    }

    if(admin.buglog.parame.index >= admin.buglog.maxIndex){
        $('button.next').addClass('disabled');
    }
};

admin.buglog.page = function () {
    var $prev = $('button.prev');
    var $next = $('button.next');

    $next.click(function () {
        $(this).addClass('disabled');
        if(admin.buglog.parame.index < admin.buglog.maxIndex){
            admin.buglog.parame.index++;
        }
        admin.buglog.getLogs(admin.buglog.nextSuccess);
    });

    $prev.click(function () {
        $(this).addClass('disabled');
        if(admin.buglog.parame.index > 1){
            admin.buglog.parame.index--;
        }
        admin.buglog.getLogs(admin.buglog.prevSuccess);
    });
};

admin.buglog.prevSuccess = function (data) {
    if(data.status == 200){
        admin.buglog.pageChange();
        admin.buglog.fillDatas(data.data['logs']);
        if(admin.buglog.parame.index <= 1){
            $('button.prev').addClass('disabled');
        }
        else{
            $('button.prev').removeClass('disabled');
        }
        $('button.next').removeClass('disabled');
    }
    else{
        $.Huimodalalert(data.message,5000);
    }
};

admin.buglog.nextSuccess = function (data) {
    if(data.status == 200){
        admin.buglog.pageChange();
        admin.buglog.fillDatas(data.data['logs']);
        if(admin.buglog.parame.index >= admin.buglog.maxIndex){
            $('button.next').addClass('disabled');
        }
        else{
            $('button.next').removeClass('disabled');
        }
        $('button.prev').removeClass('disabled');
    }
    else{
        $.Huimodalalert(data.message,2000);
    }
};